Re: Princess' Tread Tuesday, 23-Feb-99 15:15:35 96 % there. The data put into the table at 0100 is a matrix ten bytes by ten bytes You are given a starting point on this grid depending upon your user name. This is determined at 017F -018F At 01D0 this starting address is moved into si and if the code in that position is 2E then this is where you start, otherwise the pointer is incremented until it finds 2E which will then be your starting location. At 053E the 100 bytes from your .dat file is loaded into 0667 and then byte by byte you are moved around the board. Each byte moves your position 4 spaces depending upon ebx. If ebx = 0 then you move up one position If ebx = 1 then you move down one position If ebx = 2 then you move left one position If ebx = 3 then you move right one position Each byte is rolled left 4 times and this determines how you move If your number is .à.21ROL al 02 becomes 84 which makes ebx =0 then 84 ROL al 02 becomes 12 which makes ebx =2 then 84 ROL al 02 becomes 48 which makes ebx =0 then 84 ROL al 02 becomes 21 which makes ebx =1 So you move one up, one left, one up, one down, Then you pick up the next number If you hit "T" you are booted out. Your goal is to end up on the "f" which will give you "Congratulations!" However if you land on the "w" you also get booted out and in order to get to the "f" there must be a way to get rid of either the "w" or the "T" but I have not yet discovered this. Princess 96 % there |
Princess' Tread (Princess) (22-Feb-99 17:47:48) |